package fachadas;

import java.util.ArrayList;

import interfaces.InterfazFachadaValoraciones;
import javax.ejb.Local;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import entidades.Valoracion;

import objetosNegocio.ObjetoNegocioValoracion;

/**
 * Session Bean implementation class FachadaValoracion
 */
@Stateless
@Local( { InterfazFachadaValoraciones.class })
public class FachadaValoracion implements InterfazFachadaValoraciones 
{
	@PersistenceContext(unitName="ClasesValorador")
	private EntityManager manager;
	
	private ObjetoNegocioValoracion objetoNegocioValoracion;
	/**
     * @see InterfazFachadaValoraciones#crearValoracion(Valoracion)
     */
    public Valoracion crearValoracion(Valoracion arg0)
    {
    	instanciarObjetoNegocio();
    	return objetoNegocioValoracion.crearValoracion(arg0);
    }

	/**
     * @see InterfazFachadaValoraciones#obtenerValoracion(Valoracion)
     */
    public ArrayList<Valoracion> obtenerValoracion(Valoracion arg0) 
    {
    	instanciarObjetoNegocio();
       return objetoNegocioValoracion.obtenerValoracion(arg0);
    }
    
    private void instanciarObjetoNegocio()
    {
    	if(objetoNegocioValoracion == null)
    	{
    		objetoNegocioValoracion = new ObjetoNegocioValoracion(manager);
    	}
    }

	@Override
	public int getCantidadValoracionesNegativas()
	{
		return objetoNegocioValoracion.getCantidadValoracionesNegativas();
	}

	@Override
	public int getCantidadValoracionesNeutras() 
	{
		return objetoNegocioValoracion.getCantidadValoracionesNeutras();
	}

	@Override
	public int getCantidadValoracionesPositivas() 
	{
		return objetoNegocioValoracion.getCantidadValoracionesPositivas();
	}

}
